package concurrency

import (
	"fmt"
	"sync/atomic"
)

/*
*
Go语言中的"atomic.Load"是来自"sync/atomic"包的一个函数，它可以从给定的内存地址原子地加载一个值。
它用于实现并发编程中对共享变量的安全访问，因为它可以保证读取操作是原子的，即它不会被其他Goroutine打断。
这意味着atomic.Load返回的值是一致的，不会受到其他Goroutine的影响。
*/
func main() {
	var num int64
	num = 10
	fmt.Println(atomic.LoadInt64(&num)) //原子读

	atomic.StoreInt64(&num, 20) //原子写
	fmt.Println(num)
}
